package com.central.post.service

import com.baomidou.mybatisplus.extension.plugins.pagination.Page
import com.central.common.entity.Authenticate
import com.central.common.model.CommonResult
import com.central.common.model.PageVo
import com.central.common.model.SysUser
import com.central.common.service.ISuperService
import com.central.post.pojo.authenticate.*

/**
 * @author  fly
 * @date  2021/5/26 14:50
 * @version 1.0
 */
interface AuthenticateService : ISuperService<Authenticate> {


    /**
     * 发布山正鉴定帖子
     */
    fun publishAuthenticate(authenticatePublishDto: AuthenticatePublishDto, sysUser: SysUser): CommonResult<Boolean>

    /**
     * 移除山正鉴定帖子
     */
    fun removeAuthenticate(ids: String): CommonResult<Boolean>

    /**
     * 山正鉴定首页数据
     */
    fun getAuthenticateIndexData(): CommonResult<AuthenticateIndexData>

    /**
     * 山正鉴定详情数据
     */
    fun getAuthenticateDetail(id: Long, sysUser: SysUser, pageVo: PageVo): CommonResult<AuthenticateDetailVo>

    /**
     * 鉴定达人
     */
    fun getAuthenticateTalentList(authenticateSearchDto: AuthenticateSearchDto, pageVo: PageVo): CommonResult<Page<AuthenticateTalentList>>

    /**
     * 山正鉴定搜索结果
     */
    fun searchAuthenticateList(authenticateSearchDto: AuthenticateSearchDto, pageVo: PageVo): CommonResult<Page<AuthenticateSearchListVo>>

    /**
     * 我的鉴定记录
     */
    fun getMyPublishAuthenticate(pageVo: PageVo, sysUser: SysUser): CommonResult<Page<AuthenticateListVo>>

    /**
     * 鉴定山正
     */
    fun authenticate(authenticateDto: AuthenticateDto, sysUser: SysUser): CommonResult<Boolean>

    /**
     * 设置山正评测结果(后台管理系统)
     */
    fun settingAuthenticateResult(id: Long, type: Int): CommonResult<Boolean>
}
